package sqlTestes.tUnique;

import junit.framework.Assert;

import org.junit.Test;

import sql.ddl.Unique;
import sql.ddl.coluna.Coluna;
import sql.ddl.coluna.types.Int4;
import sql.ddl.coluna.types.Varchar;

public class TestarCodigoSqlUniqueNaCriacaoDeTabela {
	Coluna nome = new Varchar("nome");

	Coluna dia = new Int4("dia");

	@Test
	public void testarCriarUniqueNOMEParaCriacaoDaTabelaX() {
		Unique uniqueNome = new Unique(false, nome);
		Assert.assertEquals("UNIQUE(nome)", uniqueNome.codigoSQL());
	}

	@Test
	public void testarCriarUniqueNOMEParaCriacaoDaTabelaXComAliasDefault() {
		Unique uniqueNome = new Unique(true, nome);
		Assert.assertEquals("CONSTRAINT NOME_ UNIQUE(nome)", uniqueNome
				.codigoSQL());
	}

	@Test
	public void testarCriarUniqueNOMEeDIAParaCriacaoDaTabelaX() {
		Unique uniqueNomeDia = new Unique(false, nome, dia);
		Assert.assertEquals("UNIQUE(nome,dia)", uniqueNomeDia.codigoSQL());
	}

	@Test
	public void testarCriarUniqueParaCriacaoDaTabelaXComAliasDefault() {
		Unique uniqueNomeDia = new Unique(true, nome, dia);
		Assert.assertEquals("CONSTRAINT NOME_DIA_ UNIQUE(nome,dia)", uniqueNomeDia
				.codigoSQL());
	}

}
